package com.ruoyi.statistic.mapper;

import java.util.Date;
import java.util.List;
import com.ruoyi.statistic.domain.*;
import org.apache.ibatis.annotations.Param;

/**
 * 日统计表Mapper接口
 * 
 * @author wzy
 * @date 2024-10-17 16:25:05
 */
public interface WDayReportStatMapper 
{
    /**
     * 查询日统计表
     * 
     * @param dayReportStatisticId 日统计表主键
     * @return 日统计表
     */
    public WDayReportStat selectWDayReportStatByDayReportStatisticId(Long dayReportStatisticId);

    /**
     * 查询日统计表列表
     * 
     * @param wDayReportStat 日统计表
     * @return 日统计表集合
     */
    public List<WDayReportStat> selectWDayReportStatList(WDayReportStat wDayReportStat);

    /**
     * 新增日统计表
     * 
     * @param wDayReportStat 日统计表
     * @return 结果
     */
    public int insertWDayReportStat(WDayReportStat wDayReportStat);

    /**
     * 修改日统计表
     * 
     * @param wDayReportStat 日统计表
     * @return 结果
     */
    public int updateWDayReportStat(WDayReportStat wDayReportStat);

    /**
     * 删除日统计表
     * 
     * @param dayReportStatisticId 日统计表主键
     * @return 结果
     */
    public int deleteWDayReportStatByDayReportStatisticId(Long dayReportStatisticId);

    /**
     * 批量删除日统计表
     * 
     * @param dayReportStatisticIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWDayReportStatByDayReportStatisticIds(Long[] dayReportStatisticIds);

    /**
     * 查询总入库页列表
     *
     * @param customerName 客户名称
     * @param beginDate 开始日期
     * @param endDate 结束日期
     * @param limit 条数限制
     * @return 总入库页集合
     */
    public List<WEnterWarehouseSheet> selectWEnterWarehouseSheetListExt(@Param("customerName") String customerName, @Param("beginDate") Date beginDate, @Param("endDate") Date endDate, @Param("limit") int limit);

    /**
     * 查询总入库页列表
     *
     * @param customerName 客户名称
     * @param beginDate 开始日期
     * @param endDate 结束日期
     * @param limit 条数限制
     * @return 总入库页集合
     */
    public List<WExitWarehouseSheet> selectWExitWarehouseSheetListExt(@Param("customerName") String customerName, @Param("beginDate") Date beginDate, @Param("endDate") Date endDate, @Param("limit") int limit);

    /**
     * 查询货转入库页列表
     *
     * @param customerName 客户名称
     * @param beginDate 开始日期
     * @param endDate 结束日期
     * @param limit 条数限制
     * @return 总入库页集合
     */
    public List<WTransferEnterSheet> selectWTransferEnterSheetListExt(@Param("customerName") String customerName, @Param("beginDate") Date beginDate, @Param("endDate") Date endDate, @Param("limit") int limit);

    /**
     * 查询货转出库页列表
     *
     * @param customerName 客户名称
     * @param beginDate 开始日期
     * @param endDate 结束日期
     * @param limit 条数限制
     * @return 总入库页集合
     */
    public List<WTransferExitSheet> selectWTransferExitSheetListExt(@Param("customerName") String customerName, @Param("beginDate") Date beginDate, @Param("endDate") Date endDate, @Param("limit") int limit);

    /**
     * 查询当前库存页列表
     *
     * @param customerName 客户名称
     * @param beginDate 开始日期
     * @param endDate 结束日期
     * @param limit 条数限制
     * @return 总入库页集合
     */
    public List<WCurrentWarehouseSheet> selectWCurrentWarehouseSheetListExt(@Param("customerName") String customerName, @Param("beginDate") Date beginDate, @Param("endDate") Date endDate, @Param("limit") int limit);

    /**
     * 查询日入库页列表
     *
     * @param customerName 客户名称
     * @param beginDate 开始日期
     * @param endDate 结束日期
     * @param limit 条数限制
     * @return 总入库页集合
     */
    public List<WDayEnterWarehouseSheet> selectWDayEnterWarehouseSheetListExt(@Param("customerName") String customerName, @Param("beginDate") Date beginDate, @Param("endDate") Date endDate, @Param("limit") int limit);

    /**
     * 查询日入库页列表
     *
     * @param customerName 客户名称
     * @param beginDate 开始日期
     * @param endDate 结束日期
     * @param limit 条数限制
     * @return 总入库页集合
     */
    public List<WDayExitWarehouseSheet> selectWDayExitWarehouseSheetListExt(@Param("customerName") String customerName, @Param("beginDate") Date beginDate, @Param("endDate") Date endDate, @Param("limit") int limit);

    /**
     * 查询转入货主
     *
     * @param customerName 客户名称
     * @param transferIds 货转IDs
     * @param goodsId 货物ID
     * @return 转入货主
     */
    public String selectGoodsTransferOrignCustomerExt(@Param("customerName") String customerName, @Param("transferIds") String[] transferIds, @Param("goodsId") long goodsId);

}
